#ifndef EMS_UTILS_MAKE_UNIQUE_H
#define EMS_UTILS_MAKE_UNIQUE_H

#include <memory>

namespace ems {
namespace utils {

// C++11兼容的make_unique实现
template<typename T, typename... Args>
std::unique_ptr<T> make_unique(Args&&... args) {
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
}

}  // namespace utils
}  // namespace ems

#endif  // EMS_UTILS_MAKE_UNIQUE_H